package com.example.commons.annotation;

import java.lang.annotation.*;
import java.util.concurrent.TimeUnit;

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.TYPE})
@Documented
@Inherited

/**
 * 防抖,几秒内只能请求一次
 */

public @interface DebounceLock {

    /**
     * redis锁前缀（接口方法名）
     * @return
     */
    String prefix() default "";

    /**
     * 锁过期时间
     * @return
     */
    int expire() default 2;

    TimeUnit unit() default TimeUnit.SECONDS;

    /**
     *  redis key分隔符
     * @return
     */
    String split() default "@";

}
